#include <stdio.h>
#include <unistd.h>
#include <string.h>

// int main()
// {
//     const char* fstr = "hello fwrite";
//     const char* str = "hello write";

//     // C库
//     printf("hello printf");   // stdout->1
//     fprintf(stdout, "hello fprintf");     // stdout->1
//     fwrite(fstr, strlen(fstr), 1, stdout);  // stdout->1，返回实际写入字符串的个数
//     close(1);
//     // system call
//     // write(1,str,strlen(str));   // 直接1号文件描述符，返回值是写入成功的字节数

//     // fork();
//     return 0;
// }

// int main()
// {
//     const char* str = "hello write";
//     // system call
//     write(1,str,strlen(str));   // 直接1号文件描述符，返回值是写入成功的字节数
//     close(1);

//     return 0;
// }

int main()
{
    const char* fstr = "hello fwrite\n";
    const char* str = "hello write\n";

    // C库
    printf("hello printf\n");   // stdout->1
    sleep(2);
    fprintf(stdout, "hello fprintf\n");     // stdout->1
    sleep(2);
    fwrite(fstr, strlen(fstr), 1, stdout);  // stdout->1，返回实际写入字符串的个数
    sleep(2);

    // system call
    write(1,str,strlen(str));   // 直接1号文件描述符，返回值是写入成功的字节数

    sleep(5);
    fork();
    return 0;
}